package cn.icanci.loopstack.ddk.admin.dal.mapper.mapper;

import cn.icanci.loopstack.ddk.admin.dal.mapper.entity.AppDO;

import java.util.List;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

/**
* DdkAppMapper
* ⚠️ 修改之后请勿使用生成器再次生成，否则会覆盖修改
*
* @author icanci
* @since 1.0 Created in 2023/01/07 15:22
*/
@Mapper
public interface AppMapper {

    /**
     * 新增一条记录
     *
     * @param ddkApp 新增数据
     **/
    int insert(AppDO ddkApp);

    /**
     * 更新一条记录
     *
     * @param ddkApp 更新的数据
     **/
    int update(AppDO ddkApp);

    /**
     * 根据条件查询
     *
     * @param ddkApp 查询条件
     **/
    List<AppDO> selectList(AppDO ddkApp);

    /**
     * 分页条件查询
     *
     * @param ddkApp 查询条件
     * @param page 页
     * @param pageSize 每页大小
     **/
    List<AppDO> selectPage(@Param("ddkApp") AppDO ddkApp, @Param("page") Integer page, @Param("pageSize") Integer pageSize);

    /**
     * 总量查询
     *
     * @param ddkApp 查询条件
     **/
    int total(AppDO ddkApp);

    /**
     * 根据appId查询
     *
     * @param appId appId
     * @param env 环境
     **/
    AppDO queryByAppId(@Param("appId") String appId, @Param("env") String env);

    /**
     * 根据appName查询
     *
     * @param appName appName
     * @param env 环境
     **/
    AppDO queryByAppName(@Param("appName") String appName, @Param("env") String env);

    /**
     * 根据appUuid查询
     *
     * @param appUuid appUuid
     * @param env 环境
     **/
    AppDO queryByAppUuid(@Param("appUuid") String appUuid, @Param("env") String env);
}
